Skip to content

More options for positioning/anchor, opacity, name max length#266

Merged
Hacksore merged 11 commits into
overlayeddev:mainfrom
francislavoie:options
May 9, 2026
Merged

More options for positioning/anchor, opacity, name max length#266
Hacksore merged 11 commits into
overlayeddev:mainfrom
francislavoie:options

Conversation

@francislavoie

@francislavoie francislavoie commented Jan 17, 2026

Copy link
Copy Markdown
Contributor

Followup on #240, closes #67 (anchoring)

  • Opacity by default changes the opacity of the entire user row including the avatar, but I want it to only affect the background behind the username (I want avatars to always be fully opaque), so I added a "target" option.
  • Opacity is now a slider instead (easier to use).
  • Add anchor horizontal and vertical options, where horizontal maps to the existing option in the nav-bar of switching left/center/right side (but now also reflected in the config, and synced if either changes), and vertical anchor so there's now the option of having it grow upwards. If "center" is chosen for horizontal then top/bottom is ignored (I don't have a usecase for that mode so I don't know how best to integrate that if at all).
  • The anchor horizontal option is now persisted and loaded properly, previously it would need to be toggled each time if you want it on the left when you open the app, pretty annoying.
  • Added a Max username length limit which truncates the usernames with a ... if too long. This makes sure the overlay will be limited on width, better to plan consistent layouts if using this with OBS for streaming. I realize resizing the window also does this to a certain extent, but I think having both is good for level of control.
  • Added a Scale option, between 50% and 200%. This gives really nice control, and doing it in-app instead of in OBS after the fact or w/e means it'll render very crisp.

In followup commits:

  • Cleaned up the nav-bar buttons to use the 👆 cursor
  • Added a pin/unpin toggle button on the settings window's General page
  • Removed 1px pin border from the settings window (it should only affect the overlay, not also the settings window)
  • Made it save the overlay position/size settings immediately after change, instead of only on quit, because when dev-ing I noticed if I Ctrl+C kill it, the overlay position didn't persist. Thought that was weird.
  • Made the settings window start opened but minimized, made the X button not close but minimize; this gives easier access to toggling unpin (on first-time-use of the app, it's surprising and confusing if you pin and then realize "oh shit how do I unpin aaaaaaaaaa", so I think this is a better default). Users can find the settings pane via their taskbar (on Windows anyway, I don't know if this behaves weird on Mac/Linux) Introduced an FTUE popup on first use which explains how pinning works instead.
  • Added an option to enable hiding the taskbar/dock icon when pinned (as long as the settings window is also closed). Unpinning is still accessed via systray.
  • Streamlined the flow when the auth token expires; instead of showing an error, it just goes to the homepage again instead of showing a big :( with error message which is kinda scary when opening it up while live on stream.
  • Added some dev-only buttons for resetting-FTUE/expiring-auth/restoring-auth to help testing the above features.

Disclosure: I largely used Github Copilot to write the code changes, but I manually tested and made many minor adjustments by hand afterwards.

image image

@vercel

vercel Bot commented Jan 17, 2026

Copy link
Copy Markdown

@francislavoie is attempting to deploy a commit to the Hacksore's Team Team on Vercel.

A member of the Team first needs to authorize it.

@Hacksore

Copy link
Copy Markdown
Member

Very nice! i think i found some instability where overlayed will just crash but don't yet have a repro.

The settings windows minimized is a bit odd for me on macOS, i rarely minimize things. Will look over the code and see if there are any callouts but appreciate the work here.

if i ever want to do another release i'll need to kick the dust off of #253 so we can have code signing 😂.

Comment thread apps/desktop/src-tauri/src/main.rs Outdated
});
// Start the settings window minimized so it's available but not intrusive
// The `show` call from the UI will restore/unminimize it.
settings.minimize().ok();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is the only thing i really don't like. I believe we should just hide it instead of minimize.

Perhaps the best way to solve "how do i unpin" is a FTUE (first time user experience)

@francislavoie francislavoie Jan 19, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I thought about that too, but this seemed like the simpler option to me. I also looked at global hotkeys but I have concerns about them conflicting with other apps, so onboarding users to set up a hotkey they like for it would be necessary and that's annoying.

Probably best to go with the FTUE, yeah.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, reverting the minimize changes, and setting up a FTUE popup on initial launch (with a option in dev mode to reset the FTUE state for testing via the settings panel). Has per-OS-platform wording.

image

Comment thread apps/desktop/src/components/nav-bar.tsx
@vercel

vercel Bot commented Apr 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
overlayed Ready Ready Preview, Comment May 8, 2026 1:08am

Request Review

@francislavoie

Copy link
Copy Markdown
Contributor Author

I added another commit which adds a settings switch (off by default) to hide the taskbar/dock icon while the app is pinned (systray still visible).

@francislavoie francislavoie requested a review from Hacksore April 19, 2026 18:50
@SyberHexen

Copy link
Copy Markdown

Hi @francislavoie Enjoying the improvements and thanks in advance!
Wanted to report an issue with c579a3e not hiding the window-list/taskbar on linux.
Resolved here: fbb018d but unsure if that's going to break anything for others with wayland or the mac/windows.

@francislavoie

Copy link
Copy Markdown
Contributor Author

Ah okay. I have Linux too (Ubuntu 26.04 on Wayland) so I can give it a shot I guess to see if that works. I only tried it on Windows.

Ensures the settings window starts minimized and unminimizes when opened.
Modifies the pin toggle to target the main overlay window consistently.
Broadcasts pin changes to all webviews for consistent state.
Persists main window size and position on resize/move events.
Adds a pin toggle to the settings page.
@francislavoie

Copy link
Copy Markdown
Contributor Author

Rebased and linted. FYI @Hacksore this is ready for another review if you're willing to check it out. I realize it's a big one.

@Hacksore

Hacksore commented May 8, 2026

Copy link
Copy Markdown
Member

This is really good, it will solve so much confusion 👏

image

@Hacksore

Hacksore commented May 9, 2026

Copy link
Copy Markdown
Member

So i think the only things i've seen are some crashes/instability, otherwise the new features are great.

Let's do this, gonna merge this and let us test canary for a while then we can start new issues with all the bugs we encounter.

Good work on this one!

@Hacksore Hacksore merged commit 06450ef into overlayeddev:main May 9, 2026
8 checks passed
@francislavoie francislavoie deleted the options branch May 9, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Change starting anchor for participants list

3 participants